#pragma once

struct ID3D11BlendState;
struct ID3D11DepthStencilState;
struct ID3D11RasterizerState;
struct ID3D11SamplerState; 

struct PipelineStates {    
    ID3D11BlendState* mTransparentBS;
	ID3D11SamplerState* mLinearSS;
    ID3D11RasterizerState* mWireframeRS;
	ID3D11DepthStencilState* mDisableDepthState;

    PipelineStates();
	~PipelineStates();

private:
	ID3D11BlendState* transparentBlendState() const;
	ID3D11SamplerState* linearClampSamplerState() const;
	ID3D11RasterizerState* wireframeRasterizerState() const;
	ID3D11DepthStencilState* disableDepthTestDepthStencilState() const;
};

